package com.pactera.madp.cp.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.pactera.madp.cp.api.dto.channel.ChannelCodeGroupListVO;
import com.pactera.madp.cp.api.dto.channel.ReqChannelCodeGroupAddDTO;
import com.pactera.madp.cp.api.entity.channel.ChannelCodeGroupEntity;
import com.pactera.madp.cp.api.dto.channel.ReqChannelCodeGroupUpdateDTO;

import java.util.List;

/**
 * @author: yangpengwei
 * @time: 2021/2/22 4:59 下午
 * @description 渠道码服务
 */
public interface IChannelCodeGroupService extends IService<ChannelCodeGroupEntity> {

    /**
     * @author: yangpengwei
     * @time: 2021/2/22 5:19 下午
     * @description 创建渠道码分组，通过 names
     *
     * @param dto 新建渠道码分组传输对象
     */
    void saveByNames(ReqChannelCodeGroupAddDTO dto);

    /**
     * @author: yangpengwei
     * @time: 2021/2/22 5:39 下午
     * @description 更新渠道码分组名，通过渠道码分组 id
     *
     * @param dto 编辑渠道码分组传输对象
     */
    void updateNameByGroupId(ReqChannelCodeGroupUpdateDTO dto);

    /**
     * @author: yangpengwei
     * @time: 2021/2/22 5:56 下午
     * @description 获取渠道码分组列表，通过企业 id
     *
     * @param corpId 企业 id
     */
    List<ChannelCodeGroupEntity> getListByCorpId(Integer corpId);

    boolean deleteCodeGroup(Integer id);

    List<ChannelCodeGroupListVO> codeGroupList();

}
